package com.bdqn.S64.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

//@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    // 其他没有配置权限的用户就可以访问没有配置请求的路径
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()   //授权请求
        .mvcMatchers("/admin/**")   //匹配这个url
        //.access("hasAnyAuthority('admin') and hasRole('admin')")    这个是多条件
                //.hasAnyRole() 是否有任意角色
        .hasAnyAuthority("admin")   //拥有这个权限的用户可以访问上面设置的权限
        .mvcMatchers("/student/**")  //匹配这个url
        .hasAnyAuthority("ROLE_student") //拥有这个权限的用户可以访问上面设置的权限
        .anyRequest()   //任何请求
        .authenticated();      //任何请求,都需要登录, 注意: 没有配置mvc的只要登录成功就可以访问
        http.formLogin().permitAll();      //登录窗口放开   permit:运行
    }
}
